优化算法

您所在的位置:网站首页 优化算法 翻译 优化算法

优化算法

2024-04-27 14:31| 来源: 网络整理| 查看: 265

今天为各位讲解改进鲸鱼优化算法(Improved Whale Optimization Algorithm,IWOA),近两年关于鲸鱼优化算法(WOA)的论文比较多,对WOA算法改进的研究也是层出不穷,今天这篇推文主要针对无约束连续优化问题,提出应用WOA算法求解的改进思路。如果想了解标准WOA算法,可以在优化算法 | 鲸鱼优化算法这篇推文中进行学习,当然,我们也会在本篇推文中对标准WOA算法做一个简短的回顾。

目录

1.标准WOA算法

2.改进WOA算法创新点

3.改进WOA算法流程图

4.改进WOA算法实例验证

1.标准WOA算法

WOA是模仿自然界中鲸鱼捕食行为的新型群体智能优化算法,而鲸鱼的捕食行为主要分为3类:1)包围猎物2)发泡网攻击3)搜索捕食。接下来分别对上述3类捕食行为用数学公式进行表示。

1.1 包围猎物

假设在d维空间中,当前最佳鲸鱼个体的X^*位置为\left(X_1^*, X_2^*, \cdots, X_d^*\right),鲸鱼个体的位置X^j\left(X_1^j, X_2^j, \cdots, X_d^j\right)。则鲸鱼个体X^j在最佳鲸鱼个体X^*的影响下的下一个位置的计算公式如下X^{j_{-} n e w}\left(X_1^{j_{-} n e w}, X_2^{j_{-} n e w}, \cdots, X_d^{j_{-} n e w}\right)

\begin{gathered} X_k^{j_{-} n e w}=X_k^*-A_1 \cdot D_k \quad(1)\\ D_k=\left|C_1 \cdot X_k^*-X_k^j\right| \quad(2)\\ C_1=2 r_2 \quad(3)\\ A_1=2 a \cdot r_1-a \quad(4) \end{gathered} \\

其中X_k^{j_{-} n e w}表示空间坐标的X^{j_{-} n e w}第个分k量。计算公D_k式中的表示求绝|\quad |对值的含义。是a随着迭代次数的增加,从2至0线性递减。r_1r_2中都是0至1之间的随机数。

1.2 发泡网攻击

发泡网攻击是座头鲸特有的吐气泡捕食行为,为了模拟这种捕食行为,现分别设计两种数学模型表达上述捕食行为。假设在d维空间中,当前最佳鲸鱼个体X^*的位置为\left(X_1^*, X_2^*, \cdots, X_d^*\right),鲸鱼个体X^j的位置为\left(X_1^j, X_2^j, \cdots, X_d^j\right)

a)收缩包围。这种捕食行为与上述包围猎物行为的数学模型几乎完全相同,区别之处在于A_1的取值范围。因为收缩包围的含义为将当前位置的鲸鱼个体向当前最佳位置的鲸鱼个体靠近,所以A_1的取值范围由原来的[-a,a]调整为[-1,1],其它公式保持不变。

b)螺旋式位置更新。当前鲸鱼个体以螺旋式的方式向当前最佳鲸鱼个体靠近。

\begin{gathered} X_k^{j_{-} \text {new }}=X_k^*+D_k \cdot e^{b l} \cdot \cos (2 \pi l) \quad (5)\\ D_k=\left|X_k^*-X_k^j\right| \quad(6) \end{gathered} \\

其中b为对数螺旋形状常数,l-1 \sim 1之间的随机数。

座头鲸在围捕猎物时,不仅收缩包围圈,而且以螺旋形式向猎物游走,因此各以50%的概率选择收缩包围圈,或是选择以螺旋形式向猎物游走,数学模型如下:

X_k^{j_{-} \text {new }}=\left\{\begin{array}{cc} X_k^*-A_1 \cdot D_k & p0.5 \\ X_k^*+D_k \cdot e^{b l} \cdot \cos (2 \pi l) & p \geq 0.5 \end{array}\right. \quad(7) \\

1.3 搜索捕食

在收缩包围的捕食行为的数学模型中A_1的取值范围限制为[-1,1],但是当A_1的取值不在[-1,1]时,这时当前鲸鱼个体可能不会向当前最佳鲸鱼个体靠近,而是从当前鲸鱼群体中随机选择一条鲸鱼个体靠近,这就是搜索捕食的思想。

搜索捕食虽然可能会使当前鲸鱼个体偏离目标猎物,但是会增强鲸鱼群体的全局搜索能力。假设在d维空间中,当前鲸鱼群体中随机一个鲸鱼个体X^{rand}的位置为\left(X_1^{\text {rand }}, X_2^{\text {rand }}, \cdots, X_d^{\text {rand }}\right),鲸鱼个体X^j的位置为\left(X_1^j, X_2^j, \cdots, X_d^j\right),则搜索捕食行为的数学模型如下:

\begin{gathered} X_k^{j_{-} n e w}=X_k^{\text {rand }}-A_1 \cdot D_k \quad(8) \\ D_k=\left|C_1 \cdot X_k^{\text {rand }}-X_k^j\right| \quad(9)\\ C_1=2 r_2(10) \quad(10)\\ A_1=2 a \cdot r_1-a \quad(11) \end{gathered} \\

2.改进WOA算法创新点2.1 自适应参数

2.1.1 启发式概率p_1

为了平衡标准WOA全局搜索和局部搜索能力,启发式概率p_1计算公式如下:

p_{1}=\left\{\begin{array}{ll} 0.7 & t0.5 * \text { maxIter } \\ 0.4 & t \geq 0.5 * \text { maxIter } \end{array}\right. \quad (12) \\

其中t为当前迭代次数,maxIter为最大迭代次数。

2.1.2 自适应惯性权重\omega

在迭代过程中,将鲸鱼个体的适应度 f(i)按升序排序,然后分成两半分别求平均适应度 f_{avg1} f_{avg2},其中f_{avg1}f_{avg2},将当前鲸鱼个体的适应度分与 f_{avg1} f_{avg2}比较,将惯性权重分类如下:

(1) f(i)f_{avg2}

\omega取值为(0.8,1.2)之间的随机数。

(2)f(i) \geq f_{avg2}

\omega以50%的概率取为(0.3,0.6)(1.3,1.6)之间的随机数。

(3) f_{avg1}f(i)f_{avg2}

\omega取值为1。

2.1.3 线性控制参数l

\begin{array}{l} l=\left(a_{2}-1\right) \times \text { rand }+1-2 \times \frac{t}{\text { maxIter }} \quad (13)\\ a_{2}=-1-\frac{t}{\text { maxIter }} \quad (14) \end{array} \\

2.2 全局搜索方法

2.2.1 \text { Lévy }飞行策略

采用\text { Lévy }飞行策略可以增强算法的全局搜索能力。鲸鱼个体X^i采用\text { Lévy }飞行策略更新位置的公式如下:

X_{\text {new }}^{i}=X^{i}+A_{1} \times 0.01 \times \text { step } \oplus\left(X^{i}-C_{1} \times X^{\text {rand }}\right) \quad(15) \\

其中X_{\text {new }}^{i}为鲸鱼个体X^i更新后的位置,A_1C_1的含义同公式(1)中的A_1C_1\oplus表示点乘,X^{\text {rand }}表示当前种群中随机选择的鲸鱼个体,step表示随机步长,由Mantegna方法产生,公式如下。

\operatorname{step}=\frac{u}{|v|^{1 / \beta}} \quad(16) \\

其中u\left(u_{1}, u_{2}, \cdots, u_{d}\right)v\left(v_{1}, v_{2}, \cdots, v_{d}\right)d维空间向量,且有\beta=1.5u和v$的每个分量均服从如下正太分布。

\begin{array}{r} u \sim N\left(0, \sigma_{u}^{2}\right), v \sim N\left(0, \sigma_{v}^{2}\right)\quad(17) \\ \sigma_{u} \sim\left(\frac{\Gamma(1+\beta) \cdot \sin \left(\pi \cdot \frac{\beta}{2}\right)}{\Gamma\left(\frac{1+\beta}{2}\right) \cdot \beta \cdot 2^{\frac{\beta-1}{2}}}\right)^{\frac{1}{\beta}}, \sigma_{v}=1 \quad(18) \end{array} \\

2.2.2 初级知识获取-共享算法

将鲸鱼个体的适应度按升序排序,排序结果如下:

X^{\text {best }}, \cdots, X^{i-1}, X^{i}, X^{i+1}, \cdots, X^{\text {worst }} \\

初级知识获取-共享算法更新个体方法如下:

X_{\text {new }}^{i}=\left\{\begin{array}{ll} X^{i}+k_{f} \times\left[\left(X^{i-1}-X^{i+1}\right)+\left(X^{r}-X^{i}\right)\right] & f\left(X^{i}\right)f\left(X^{r}\right) \\ X^{i}+k_{f} \times\left[\left(X^{i-1}-X^{i+1}\right)+\left(X^{i}-X^{r}\right)\right] & f\left(X^{i}\right) \leq f\left(X^{r}\right) \end{array}\right. \quad(19) \\

其中X^i为待更新个体,X_{\text {new }}^{i}为更新后的个体,X^r为随机选择的个体,k_f为知识因素参数,取值为0.5。

2.2.3 模拟退火策略

在更新中种群中的个体时,以一定概率接受劣质个体。概率计算公式如下:

P=e^{-\frac{\left(f\left(X^{j_{-} n e w}\right)-f\left(X^{j}\right)\right) / f\left(X^{j}\right)}{T}} \quad(20) \\

其中T为当前迭代次数时的温度。

2.3 局部搜索方法

2.3.1 修正螺旋位置更新方法

将鲸鱼个体的适应度按升序排序,排序结果为:

X^{1}, \cdots, X^{i-1}, X^{i}, X^{i+1}, \cdots, X^{\text {popSize }} \\

根据适应度值将鲸鱼个体划分为3类:最佳个体类、中等个体类、最差个体类,且这3类集合中的鲸鱼个体数目分为0.05*popSize0.9*popSize0.05*popSize。最佳个体类、中等个体类和最差个体类中的鲸鱼个体分别用X^{p_{-} b e s t}X^{m}X^{p_{-} worst}表示。

\begin{array}{l} X_{k}^{j+1}=X_{k}^{p_{-} \text {best }}+D_{k} \cdot e^{b l} \cdot \cos (2 \pi l) \quad(21)\\ D_{k}=X_{k}^{p_{-} \text {best }}-X_{k}^{p_{-} \text {worst }}+\left|X_{k}^{m}-X_{k}^{j}\right| \quad(22) \end{array} \\

2.3.2 二次插值法

采用二次差值法对个体X^{i}的更新公式如下:

X_{d}^{i}=0.5 \times \frac{\left[\left(X_{d}^{i}\right)^{2}-\left(X_{d}^{r}\right)^{2}\right] \times f\left(X^{*}\right)+\left[\left(X_{d}^{r}\right)^{2}-\left(X_{d}^{*}\right)^{2}\right] \times f\left(X^{i}\right)+\left[\left(X_{d}^{*}\right)^{2}-\left(X_{d}^{i}\right)^{2}\right] \times f\left(X^{r}\right)}{\left(X_{d}^{i}-X_{d}^{r}\right) \times f\left(X^{*}\right)+\left(X_{d}^{r}-X_{d}^{*}\right) \times f\left(X^{i}\right)+\left(X_{d}^{*}-X_{d}^{i}\right) \times f\left(X^{r}\right)} \quad(23) \\

其中X^{r}为当前种群中随机选择的个体,X^{*}为当前全局最佳个体。

3.改进WOA算法流程图4.改进WOA算法实例验证

在介绍IWOA算法前,先展示一下IWOA求解以下无约束连续优化问题的性能。当将变量个数为10时,即D=10时,变量下界设为-100,变量上界设为100,种群规模设为200,迭代次数设为1000,各个测试函数的求解结果如下:

(1)Bent Cigar Function

f_{1}(\mathbf{x})=x_{1}^{2}+10^{6} \sum_{i=2}^{D} x_{i}^{2} \\

求解过程如下图所示:

最优值接近0,最优解位置如下所示:

(2)Rastrigin’s Function

f_{2}(x)=\sum_{i=1}^{D}\left(x_{i}^{2}-10 \cos \left(2 \pi x_{i}\right)+10\right) \\

求解过程如下图所示:

最优值接近0,最优解位置如下所示:

(3)High Conditioned Elliptic Function

f_{3}(x)=\sum_{i=1}^{D}\left(10^{6}\right)^{\frac{i-1}{D-1}} x_{i}^{2} \\

求解过程如下图所示:

最优值接近0,最优解位置如下所示:

(4)HGBat Function

f_{4}(\mathbf{x})=\left|\left(\sum_{i=1}^{D} x_{i}^{2}\right)^{2}-\left(\sum_{i=1}^{D} x_{i}\right)^{2}\right|^{1 / 2}+\left(0.5 \sum_{i=1}^{D} x_{i}^{2}+\sum_{i=1}^{D} x_{i}\right) / D+0.5 \\

求解过程如下图所示:

最优值接近0.5,最优解位置如下所示:

(5)Rosenbrock’s Function

f_{5}(\mathbf{x})=\sum_{i=1}^{D-1}\left(100\left(x_{i}^{2}-x_{i+1}\right)^{2}+\left(x_{i}-1\right)^{2}\right) \\

求解过程如下图所示:

最优值为0,最优解位置如下所示:

(6)Griewank’s Function

f_{6}(\mathbf{x})=\sum_{i=1}^{D} \frac{x_{i}^{2}}{4000}-\prod_{i=1}^{D} \cos \left(\frac{x_{i}}{\sqrt{i}}\right)+1 \\

求解过程如下图所示:

最优值接近0,最优解位置如下所示:

(7)Ackley’s Function

f_{7}(\mathbf{x})=-20 \exp \left(-0.2 \sqrt{\frac{1}{D} \sum_{i=1}^{D} x_{i}^{2}}\right)-\exp \left(\frac{1}{D} \sum_{i=1}^{D} \cos \left(2 \pi x_{i}\right)\right)+20+\mathrm{e} \\

求解过程如下图所示:

最优值接近0,最优解位置如下所示:

(8)Happycat Function

f_{8}(\mathbf{x})=\left|\sum_{i=1}^{D} x_{i}^{2}-D\right|^{1 / 4}+\left(0.5 \sum_{i=1}^{D} x_{i}^{2}+\sum_{i=1}^{D} x_{i}\right) / D+0.5 \\

求解过程如下图所示:

最优值接近0.039,最优解位置如下所示:

(9)Discus Function

f_{9}(\mathbf{x})=10^{6} x_{1}^{2}+\sum_{i=2}^{D} x_{i}^{2} \\

求解过程如下图所示:

最优值接近0,最优解位置如下所示:

参考文献

[1] Sun Y, Wang X, Chen Y, et al. A modified whale optimization algorithm for large-scale global optimization problems[J]. Expert Systems with Applications, 2018, 114: 563-577.

[2] 褚鼎立, 陈红, 王旭光. 基于自适应权重和模拟退火的鲸鱼优化算法[J]. 电子学报, 2019, 47(5): 992-999.

[3] Mohamed A W, Hadi A A, Mohamed A K, et al. Evaluating the performance of adaptive GainingSharing knowledge based algorithm on CEC 2020 benchmark problems[C]//2020 IEEE Congress on Evolutionary Computation (CEC). IEEE, 2020: 1-8.

[4] Lin X, Yu X, Li W. A heuristic whale optimization algorithm with niching strategy for global multi-dimensional engineering optimization[J]. Computers & Industrial Engineering, 2022, 171: 108361.

OK,今天就到这里啦,各位可点击下方图片留言,下方图书为作者撰写书籍,助力各位快速入门智能优化算法

双11期间,京东等各平台购书优惠力度大,科技图书满100减50,各位还在等什么,赶快下单吧。

咱们下期再见

近期你可能错过了的好文章

新书上架 | 《MATLAB智能优化算法:从写代码到算法思想》

优化算法 | 灰狼优化算法(文末有福利)

优化算法 | 鲸鱼优化算法

遗传算法(GA)求解带时间窗的车辆路径(VRPTW)问题MATLAB代码

粒子群优化算法(PSO)求解带时间窗的车辆路径问题(VRPTW)MATLAB代码

知乎 | bilibili | CSDN:随心390


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3